package com.thinkgem.jeesite.cn.yy.dao;

import com.thinkgem.jeesite.cn.yy.entity.ProInfo;
import com.thinkgem.jeesite.cn.yy.utils.Paging;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * Created by Administrator on 2017/11/29 0029.
 */

public interface ProInfoDao{

    /**
     * 通过项目名查询项目信息
     * @param ProName
     * @return
     */
    public ProInfo getProInfoByProName(String ProName);

    /**
     * 通过项目状态查询所有项目信息
     * 为0     或   不为0
     * @param prostatus
     * @return
     */
    public List<ProInfo> getProInfoByProStatus(int prostatus);

    /**
     * 通过项目创建时间获取项目信息
     * @param prodate
     * @return
     */
    public List<ProInfo> getProInfoByProDate(Date prodate);

    /**
     * 通过项目创建人编号获取编号人下的项目信息
     * @param userid
     * @return
     */
    public List<ProInfo> getProInfoByUserId(String userid);

    /**
     * 获取所有项目信息
     * 并分页
     * @return
     */
    public List<ProInfo> getProInfos(Paging paging);

    /**
     * 获取所有项目总记录数
     * @return
     */
    public int getProInfosPage();

    /**
     * 添加项目
     * @param proinfo
     */
    public void saveProInfo(ProInfo proinfo);

    /**
     *  更新项目名称
     * @param proinfo
     */
    public void updateProInfoName(ProInfo proinfo);

    /**
     * 插入全查项目日志
     */
    void saveGetProjectAction();
    /**
     * 插入根据项目名获取信息的日志
     */
    void saveGetProInfoByProNameAction(@Param("pro_name") String pro_name);
    /**
     * 插入根据项目状态查项目的日志
     */
    void saveGetProInfoByProStatusAction(@Param("pro_status") int prostatus);
    /**
     * 插入新建项目日志
     */
    void saveSaveProInfoAction(ProInfo proInfo);
    /**
     * 插入更改项目名操作日志
     */
    void saveUpdateProInfoName(ProInfo proInfo);
}
